/*
 * Debugger.h
 *
 *  Created on: 2011-7-29
 *      Author: gexiao
 */
/*
 * Dalvik-specific side of debugger support. (The JDWP code is intended to
 * be relatively generic.)
 */
#ifndef DEBUGGER_H_
#define DEBUGGER_H_

/* fwd decl */
struct Object;
struct ClassObject;
struct Method;
struct Thread;

//Invoke-during-breakpoint support
typedef struct DebugInvokeReq {
	/* condition variable to wait on while the method executes */
	pthread_mutex_t lock;
	pthread_cond_t cv;
} DebugInvokeReq;

/*
 * Debugger notification
 */
void dvmDbgPostClassPrepare(struct ClassObject* clazz);

void dvmDbgPostThreadStart(struct Thread* thread);
void dvmDbgPostThreadDeath(struct Thread* thread);
#endif /* DEBUGGER_H_ */
